
package com.joysuch.wwyt.mh.service;

import java.util.ArrayList;
import java.util.List;

import com.joysuch.wwyt.mh.bean.*;
import com.joysuch.wwyt.mh.bean.GlobalConfigBean.LevelConfig;
import com.joysuch.wwyt.mh.entity.MhAlarmConfig;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

public interface MhAlarmRuleService {

    Page<MhAlarmRuleListBean> list(String name, String defaultConfig, Long monitoringTypeId, Pageable pageable);

    void add(MhAlarmRuleJobListBean mhAlarmRuleJob);

    void edits(MhAlarmRuleJobListBean MhJobBean);

    MhJobQueryBean getById(Long id, Pageable pageable);

    MhJobQueryBean getById2(Long id, Pageable pageable);

    public List<MhJobQueryBean> globalJob(Long id);

    MhAlarmRuleConfigQueryBean global();

    void save(ArrayList<MhAlarmRuleJobListBean> list);

    void saveGlobalConfig(MhAlarmRuleConfigBean level1Config, MhAlarmRuleConfigBean level2Config);

    void updateSingleMonitoringPointConfig(Long majorHazardId, MhAlarmRuleConfigBean level1Config,
            MhAlarmRuleConfigBean level2Config);

    GlobalConfigBean queryGlobalConfig();

    void updateGlobalConfig(GlobalConfigBean bean);

    MonitorPointConfigBean queryMonitorPointConfig(Long monitorPointId);

    LevelConfig globalTypeConfig(Long monitorPointId, Integer level);

    void updateMonitorPointConfig(MonitorPointConfigBean bean);

    MhAlarmConfig saveAlarmConfig(MhAlarmConfigBean bean);


    MhAlarmConfigBean getAlarmConfigById(Long id);

    List<MhAlarmConfigBean> getAlarmConfigList();
}
